/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package proyectofinalso;

import Controller.Controlador;
import Model.Direccion;
import Model.HashPaginas;
import Model.Marco;
import Model.MarcoPagina;
import Model.Pagina;

/**
 *
 * @author Diego
 */
public class ProyectoFinalSO {
//
//    /**
//     * @param args the command line arguments
//     */
////    public static void main(String[] args) {
////        // TODO code application logic here
////        HashPaginas tabla = new HashPaginas(16);
// //       Pagina temp = new Pagina();
//        //temp.pagDecimal(16, "16380", 256);
//        //Marco marc = new Marco(10);
//        
//        Controlador cont = new Controlador(16);
//        
//        //for (int i = 0; i < 17; i++) {
//       //     tabla.add(cont.aleatorio(256, 16, ((int)(Math.random()*1000000)%15)+1));
//      //  }
//        
//        cont.LlenarAleatorio(256, 16);
//        //tabla.add(new MarcoPagina(temp, marc, 1));
//        System.out.println(tabla.functionKey("00123"));
//        System.out.println(tabla.functionKey("00213"));
//        System.out.println(tabla.functionKey("00231"));
//        System.out.println(tabla.functionKey("00321"));
//        System.out.println(tabla.functionKey("00312"));
//        System.out.println(tabla.functionKey("00132"));
//        
//        for (int i = 0; i < 16; i++) {
//            if(cont.getHash().getElemento(i) !=null){
//                System.out.println("----------------------------------------");
//                System.out.println("Numero Pag: "+cont.getHash().getElemento(i).getPagina().getNumPag());
//                System.out.println("Tamaño: "+cont.getHash().getElemento(i).getPagina().getTamano());
//                System.out.println("Bit de Validez: "+cont.getHash().getElemento(i).getValido());
//                System.out.println("Posicion Hash: "+ i);
//                System.out.println("Virtual: "+cont.getHash().getElemento(i).getPagina().getDireccionVirtual().getEntero()+ " Fisica: "+ cont.getHash().getElemento(i).getPagina().getDireccionFisica().getEntero());
//                if(cont.getHash().getElemento(i).getMarco().getNumeroMarco()!= 54321){
//                System.out.println("Marco: "+cont.getHash().getElemento(i).getMarco().getNumeroMarco());
//                }else{
//                    System.out.println("Marco: No tiene Marco Asociado");
//                }
//                
//            }else{
//                System.out.println("Elemento " + i);
//            }
//        }
//        tabla.busquedaVirtual("00123");
//        tabla.busquedaVirtual("00213"); 
//        
//        System.out.println((int)(Math.random()*1000000)%16384
//                
//                );
//        System.out.println((int)(Math.random()*1000000)%2
//                );
//        
//        
//        //System.out.println(tabla.functionKey("00000")%16);
//        
//        
//        //Pagina prueba = new Pagina();
//        //String virtDir = Integer.toString((int)(Math.random()*100));;
//       // prueba.pagDecimal(20, 1859, 1, "89500");
//        
//      //  Pagina prueba2 = new Pagina();
//       // prueba2.pagDecimal(496, 89, 0, "15948");
//        
//      //  Pagina prueba3 = new Pagina();
//       // prueba2.pagDecimal(125, 89, 1, "189");
//        
//      //  Pagina prueba4 = new Pagina();
//     //   prueba2.pagDecimal(789, 89, 5, "1231");
//        
//        //System.out.println(prueba.getDireccionVirtual().getEntero());
//        //System.out.println(prueba.getDireccionVirtual().getHexadecimal());
//        //System.out.println(prueba.getDireccionVirtual().getBinario());
//        
//        
//        //HashPaginas prob= new HashPaginas();
//        //prob.add(prueba);
//        //prob.add(prueba2);
////        prob.add(prueba3);
////        prob.add(prueba4);
//       // System.out.println("Buscando elementos");
//       // System.out.println(prob.busquedaVirtual("515"));
//      //  System.out.println(prob.busquedaVirtual("89500"));
//       // System.out.println(prob.busquedaVirtual("189"));
//        //System.out.println(prob.busquedaVirtual("981"));
//        //System.out.println(prob.busquedaVirtual("1231"));
//       // System.out.println(prob.busquedaVirtual("3211").getDireccionVirtual().getEntero());
//       // System.out.println(prob.busquedaVirtual("59418"));
//        //System.out.println(prob.busquedaVirtual("15948"));
//       // System.out.println(prob.busquedaVirtual("89500").getDireccionVirtual().getEntero());
//       // System.out.println(prob.busquedaVirtual("89500").getDireccionVirtual().getHexadecimal());
//       // System.out.println(prob.busquedaVirtual("89500").getDireccionVirtual().getBinario());
//        
//        
//        
//        //System.out.println(prob.functionKey("89500"));
////        Direccion dir = new Direccion();
////        dir.setBin("1111111111111111");
////        System.out.println(dir.getBin());
////        System.out.println(dir.getEnt());
////        System.out.println(dir.getHexa());
//    }
}